package com.happy.util;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.UUID;

/**
 * @Author: Wuzh
 * @Description: 文件上传
 * @Date Created in 13:46 2020/9/28
 * @return
 */
@Slf4j
public class FileUtil {


    /**
     * 对上传的文件进行文件名处理 处理规则:对文件加上UUID唯一性,去掉所有文件名,保留后缀
     *
     * @param fileName:待上传的文件名
     * @return:返回优化后的文件名
     * @author wuzhonghua
     */
    public static String fileNameTreated ( String fileName ) {
        // 1.获取文件后缀
        String prefix = fileName.substring ( fileName.lastIndexOf ( "." ) + 1 );
        // 2.加上UUID
        return UUID.randomUUID ().toString () + "." + prefix;
    }


    /**
     * 根据上传文件保存的路径进行文件上传
     *
     * @param multipartFile:要上传的文件对象
     * @param filePath:要保存的路径
     * @param fileName:要上传的文件名
     * @throws Exception
     * @author wuzhonghua
     */
    public static void upload ( MultipartFile multipartFile, String filePath, String fileName ) throws Exception {
        // 1.要上传的路径
        File path = new File ( filePath, fileName );
        // 2.新建保存文件的路径
        if ( ! path.exists () ) {
            if ( ! path.getParentFile ().exists () ) {
                path.getParentFile ().mkdirs ();
            }
            path.createNewFile ();
        }
        // 3.上传文件
        multipartFile.transferTo ( path );
    }
}
